package com.wz.dhs.entity.system;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

@Data // 使用Lombok自动生成getter、setter等方法
@TableName("t_user_invoice") // 指定表名
public class UserInvoice {

    @ApiModelProperty(value = "主键ID", example = "1")
    @TableId(value = "id", type = IdType.AUTO) // 主键，自增
    private Integer id;

    @ApiModelProperty(value = "用户ID", example = "1001")
    @TableField("user_id") // 用户ID
    private Integer userId;

    @ApiModelProperty(value = "发票名称", example = "测试发票")
    @TableField("name") // 发票名称
    private String name;

    @ApiModelProperty(value = "抬头类型 0个人 1企业", example = "0")
    @TableField("invoice_type") // 抬头类型 0个人 1企业
    private Integer invoiceType;

    @ApiModelProperty(value = "发票抬头", example = "张三")
    @TableField("invoice_title") // 发票抬头
    private String invoiceTitle;

    @ApiModelProperty(value = "纳税人识别号", example = "123456789012345678")
    @TableField("invoice_serial") // 纳税人识别号
    private String invoiceSerial;

    @ApiModelProperty(value = "注册地址", example = "北京市朝阳区")
    @TableField("invoice_addr") // 注册地址
    private String invoiceAddr;

    @ApiModelProperty(value = "注册电话", example = "010-12345678")
    @TableField("invoice_phone") // 注册电话
    private String invoicePhone;

    @ApiModelProperty(value = "开户银行", example = "中国银行")
    @TableField("bank_name") // 开户银行
    private String bankName;

    @ApiModelProperty(value = "银行账号", example = "6228881234567890")
    @TableField("bank_account") // 银行账号
    private String bankAccount;

    @ApiModelProperty(value = "手机号", example = "12811119891")
    @TableField("user_mobile")
    private String userMobile;

    @ApiModelProperty(value = "邮箱", example = "12811119891@qq.com")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    @TableField(value = "create_time") // 创建时间，默认插入时填充
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间", example = "2023-01-01 12:00:00")
    @TableField(value = "update_time") // 更新时间，默认插入和更新时填充
    private LocalDateTime updateTime;
}
